package com.tedu.day02.oop;

/**
 * 继承产生问题：【方法】
 * 重写：什么情况下使用重写-->覆盖
 * 重载：什么情况下使用重载-->拓展【增加功能：根据不同的需要找到对应的方法】
 * 重载定义规则：继承关系---方法：修饰符  返回值  方法名（参数不一致）
 */
class Noodles{
    public void box(){
        System.out.println("方便面");
    }
}
class Packing extends Noodles{
    //修饰符  返回值  方法名【一样】  |  参数不一致
    public void box(String str){
        System.out.println("传统工艺：老坛酸菜牛肉面！");
    }
    public void box(int i){
        System.out.println("国资工艺：康师傅红烧牛肉面！");
    }
}

public class 继承问题3 {
    public static void main(String[] args) {
        //测试：重载--修饰符  返回值  方法名一致    参数不一致根据参数调方法
        Packing p=new Packing();
        p.box();  //没有重写：修饰符  返回值  方法名   参数完全一致
        p.box("老谭");  //重载：修饰符  返回值  方法一致   参数不一致
        p.box(1);  //重载：修饰符  返回值  方法一致   参数不一致
        //思考：重写存在修饰符访问权限问题  重载
        //重载  修饰符  权限控制 父类大于子类
    }
}